package com.thomsonreuters.ce.edps.model.impl;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.thomsonreuters.ce.edps.model.IMeasurement;
import com.thomsonreuters.ce.edps.model.IPhysicalAssetData;
import com.thomsonreuters.ce.edps.model.IPhysicalAssetDataField;


/** @author Hibernate CodeGenerator */
public class PhysicalAssetData implements Serializable, IPhysicalAssetData {

    /** identifier field */
    private BigDecimal id;

    /** nullable persistent field */
    private Double value;

    /** persistent field */
    private Date beginDate;

    /** nullable persistent field */
    private Date endDate;

    /** persistent field */
    private String createBy;

    /** persistent field */
    private Date createDate;

    /** persistent field */
    private String modifyBy;

    /** persistent field */
    private Date modifyDate;

    /** persistent field */
    private IPhysicalAssetDataField physicalAssetDataField;

    /** persistent field */
    private IMeasurement measurement;

    /** full constructor */
    public PhysicalAssetData(BigDecimal id, Double value, Date beginDate, Date endDate, String createBy, Date createDate, String modifyBy, Date modifyDate, IPhysicalAssetDataField physicalAssetDataField, IMeasurement measurement) {
        this.id = id;
        this.value = value;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.physicalAssetDataField = physicalAssetDataField;
        this.measurement = measurement;
    }

    /** default constructor */
    public PhysicalAssetData() {
    }

    /** minimal constructor */
    public PhysicalAssetData(BigDecimal id, Date beginDate, String createBy, Date createDate, String modifyBy, Date modifyDate, IPhysicalAssetDataField physicalAssetDataField, IMeasurement measurement) {
        this.id = id;
        this.beginDate = beginDate;
        this.createBy = createBy;
        this.createDate = createDate;
        this.modifyBy = modifyBy;
        this.modifyDate = modifyDate;
        this.physicalAssetDataField = physicalAssetDataField;
        this.measurement = measurement;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getId()
	 */
    @Override
	public BigDecimal getId() {
        return this.id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setId(java.math.BigDecimal)
	 */
    @Override
	public void setId(BigDecimal id) {
        this.id = id;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getValue()
	 */
    @Override
	public Double getValue() {
        return this.value;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setValue(java.lang.Double)
	 */
    @Override
	public void setValue(Double value) {
        this.value = value;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getBeginDate()
	 */
    @Override
	public Date getBeginDate() {
        return this.beginDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setBeginDate(java.util.Date)
	 */
    @Override
	public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getEndDate()
	 */
    @Override
	public Date getEndDate() {
        return this.endDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setEndDate(java.util.Date)
	 */
    @Override
	public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getCreateBy()
	 */
    @Override
	public String getCreateBy() {
        return this.createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setCreateBy(java.lang.String)
	 */
    @Override
	public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getCreateDate()
	 */
    @Override
	public Date getCreateDate() {
        return this.createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setCreateDate(java.util.Date)
	 */
    @Override
	public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getModifyBy()
	 */
    @Override
	public String getModifyBy() {
        return this.modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setModifyBy(java.lang.String)
	 */
    @Override
	public void setModifyBy(String modifyBy) {
        this.modifyBy = modifyBy;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getModifyDate()
	 */
    @Override
	public Date getModifyDate() {
        return this.modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setModifyDate(java.util.Date)
	 */
    @Override
	public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getPhysicalAssetDataField()
	 */
    @Override
	public IPhysicalAssetDataField getPhysicalAssetDataField() {
        return this.physicalAssetDataField;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setPhysicalAssetDataField(com.thomsonreuters.ce.edps.model.impl.PhysicalAssetDataField)
	 */
    @Override
	public void setPhysicalAssetDataField(IPhysicalAssetDataField physicalAssetDataField) {
        this.physicalAssetDataField = physicalAssetDataField;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#getMeasurement()
	 */
    @Override
	public IMeasurement getMeasurement() {
        return this.measurement;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#setMeasurement(com.thomsonreuters.ce.edps.model.impl.IMeasurement)
	 */
    @Override
	public void setMeasurement(IMeasurement measurement) {
        this.measurement = measurement;
    }

    /* (non-Javadoc)
	 * @see com.thomsonreuters.ce.edps.model.impl.IPhysicalAssetData#toString()
	 */
    @Override
	public String toString() {
        return new ToStringBuilder(this)
            .append("id", getId())
            .toString();
    }

}
